/*
By.荼山(Tosen) 2879700093
依赖：高级大数模块
游戏开发交流群：627812314
========更新日志=========
v1.01 (2024/07/11)
- 支持自定义单位集合
- 新增文本转大数字单位
- 新增高级大数字单位
- 新增高级大整数单位
- 新增小数单位
- 新增单精度小数单位
- 新增整数单位
- 新增长整数单位
*/

//由于 数值较大，将全部转为高级大数字计算
//返回 带有单位的字符串：10.55万
类 数值单位
	@静态
	变量 最小值:高级大数字 = "9999"

	@静态
	变量 单位列表:文本集合 = { "万", "亿", "兆", "京", "垓", "秭", "穰", "沟", "涧", "正", "载", "极", "恒", "祇", "由", "思", "量"}

	@静态
	变量 进制列表:高级大数字集合 = {
	高级大数字.内容("10000"),
	高级大数字.内容("100000000"),
	高级大数字.内容("1000000000000"),
	高级大数字.内容("10000000000000000"),
	高级大数字.内容("100000000000000000000"),
	高级大数字.内容("1000000000000000000000000"),
	高级大数字.内容("10000000000000000000000000000"),
	高级大数字.内容("100000000000000000000000000000000"),
	高级大数字.内容("1000000000000000000000000000000000000"),
	高级大数字.内容("10000000000000000000000000000000000000000"),
	高级大数字.内容("100000000000000000000000000000000000000000000"),
	高级大数字.内容("1000000000000000000000000000000000000000000000000"),
	高级大数字.内容("10000000000000000000000000000000000000000000000000000"),
	高级大数字.内容("100000000000000000000000000000000000000000000000000000000"),
	高级大数字.内容("1000000000000000000000000000000000000000000000000000000000000"),
	高级大数字.内容("10000000000000000000000000000000000000000000000000000000000000000"),
	高级大数字.内容("100000000000000000000000000000000000000000000000000000000000000000000")
	}


	@静态
	方法 内容(值:文本) : 文本
		变量 返回值:文本 = 值
		变量 大数:高级大数字 = 值
		如果 大数 > 最小值
			变量 索引:整数 = 0
			循环 (大数 > 进制列表[索引+1])
				索引 = 索引 + 1
			结束 循环
			变量 计算值:高级大数字 = 大数/进制列表[索引]
			返回值 = 计算值.到文本() + 单位列表[索引]
		结束 如果
		返回 返回值
	结束 方法

	@静态
	方法 为高级大数字(大数:高级大数字) : 文本
		变量 返回值:文本 = 大数.到文本()
		如果 大数 > 最小值
			变量 索引:整数 = 0
			循环 (大数 > 进制列表[索引+1])
				索引 = 索引 + 1
			结束 循环
			变量 计算值:高级大数字 = 大数/进制列表[索引]
			返回值 = 计算值.到文本() + 单位列表[索引]
		结束 如果
		返回 返回值
	结束 方法


	@静态
	方法 为高级大整数(值:高级大整数) : 文本
		变量 返回值:文本 = 值.到文本()
		变量 大数:高级大数字 = 值.到文本()
		如果 大数 > 最小值
			变量 索引:整数 = 0
			循环 (大数 > 进制列表[索引+1])
				索引 = 索引 + 1
			结束 循环
			变量 计算值:高级大数字 = 大数/进制列表[索引]
			返回值 = 计算值.到文本() + 单位列表[索引]
		结束 如果
		返回 返回值
	结束 方法


	@静态
	方法 为小数(值:小数) : 文本
		变量 返回值:文本 = 值.到文本()
		变量 大数:高级大数字 = 值.到文本()
		如果 大数 > 最小值
			变量 索引:整数 = 0
			循环 (大数 > 进制列表[索引+1])
				索引 = 索引 + 1
			结束 循环
			变量 计算值:高级大数字 = 大数/进制列表[索引]
			返回值 = 计算值.到文本() + 单位列表[索引]
		结束 如果
		返回 返回值
	结束 方法


	@静态
	方法 为单精度小数(值:单精度小数) : 文本
		变量 返回值:文本 = 值.到文本()
		变量 大数:高级大数字 = 值.到文本()
		如果 大数 > 最小值
			变量 索引:整数 = 0
			循环 (大数 > 进制列表[索引+1])
				索引 = 索引 + 1
			结束 循环
			变量 计算值:高级大数字 = 大数/进制列表[索引]
			返回值 = 计算值.到文本() + 单位列表[索引]
		结束 如果
		返回 返回值
	结束 方法


	@静态
	方法 为整数(值:整数) : 文本
		变量 返回值:文本 = 值.到文本()
		变量 大数:高级大数字 = 值.到文本()
		如果 大数 > 最小值
			变量 索引:整数 = 0
			循环 (大数 > 进制列表[索引+1])
				索引 = 索引 + 1
			结束 循环
			变量 计算值:高级大数字 = 大数/进制列表[索引]
			返回值 = 计算值.到文本() + 单位列表[索引]
		结束 如果
		返回 返回值
	结束 方法


	@静态
	方法 为长整数(值:长整数) : 文本
		变量 返回值:文本 = 值.到文本()
		变量 大数:高级大数字 = 值.到文本()
		如果 大数 > 最小值
			变量 索引:整数 = 0
			循环 (大数 > 进制列表[索引+1])
				索引 = 索引 + 1
			结束 循环
			变量 计算值:高级大数字 = 大数/进制列表[索引]
			返回值 = 计算值.到文本() + 单位列表[索引]
		结束 如果
		返回 返回值
	结束 方法
结束 类


类 高级大数字集合 : 集合模板类<高级大数字>
结束 类